iT邦幫忙

2026 iThome 鐵人賽

DAY 28
0
佛心分享-IT 人自學之術

當 Python 初學者遇到 AI:30 天人機協作學習手記系列 第 28 篇

[Day 28] 自動化微專案實戰 (五):讓程式 24 小時不打烊!新手也能懂的雲端部署入門 (PythonAnywhere)

  • 分享至 

  • xImage
  •  

今日對話:如何把 Python 丟到雲端自動執行?

我的 Prompt(提示詞):

「我有一支會發送 LINE 通知的 Python 爬蟲,我希望它每天能自動執行,但我不想 24 小時開著自己的電腦。請推薦一個對新手友善、免費,且不需要複雜 Linux 指令的雲端平台,並教我如何把這支程式部署上去設定每天定時執行。」

AI 導師的建議與拆解

AI 導師非常懂新手的痛,直接避開了 AWS 或 GCP 這些設定複雜的大型怪獸,推薦了一個專為 Python 開發者打造的佛心平台:PythonAnywhere。

核心觀念大翻轉:在雲端,你不需要 schedule!
AI 點出了一個超重要的觀念:前幾天我們用 schedule 套件加上 while True 無窮迴圈來計時。但在雲端平台上,我們 不需要 這樣寫!
我們只需要保留「爬蟲」與「發送 LINE」的純粹邏輯,然後利用雲端平台內建的「工作排程器 (Tasks)」,設定時間一到,請雲端主機幫我們啟動這支檔案即可。

實作筆記與驗證

我們要做的步驟非常簡單,完全都在瀏覽器裡點擊就能完成:

第一步:整理最純粹的程式碼
把 Day 27 的程式碼精簡,拿掉 schedule 跟 while True,存成 daily_bot.py。

python
import requests
from bs4 import BeautifulSoup
import pandas as pd

#... (爬蟲抓資料與整理 DataFrame 的程式碼) ...

def send_line_notify(msg):
token = "你的_LINE_NOTIFY_TOKEN"
url = "https://notify-api.line.me/api/notify"
headers = {"Authorization": f"Bearer {token}"}
requests.post(url, headers=headers, data={"message": msg})

#執行任務
send_line_notify("早安!雲端機器人已經起床,今日新聞已抓取完畢!")

第二步:註冊與上傳 (PythonAnywhere)

  1. 到 PythonAnywhere 註冊一個免費的 Beginner 帳號。
  2. 登入後,點擊上方的 「Files」,把我們準備好的 daily_bot.py 上傳上去。

第三步:設定雲端排程 (Tasks)

  1. 點擊上方的 Tasks標籤。
  2. 找到「Scheduled tasks」(免費版一天可以執行一次)。
  3. 時區換算注意:PythonAnywhere 使用的是格林威治標準時間 (UTC),而台灣是 UTC+8。所以如果你希望早上 8 點執行,你要設定的時間是 00:00!
  4. 在 Command 欄位輸入:python3.10 daily_bot.py (告訴伺服器用 Python 執行這支檔案)。
  5. 按下 Create,大功告成!

今日小結

大功告成非常有成就感。


上一篇
[Day 27] 自動化微專案實戰 (四):讓程式主動聯絡你!結合 LINE Notify 把每日新聞直接傳到手機
下一篇
[Day 29] 版本控制大師:使用 Git 與 GitHub 儲存專案,建立你的第一個工程師作品集
系列文
當 Python 初學者遇到 AI:30 天人機協作學習手記 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言